package com.solotiger.douban.biz.service;

import com.solotiger.douban.biz.model.movie.SubjectResult;
import com.solotiger.douban.common.UrlContants;

import io.reactivex.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;

public interface MovieService {

    /**
     * 正在热映
     * <p>
     * apikey：固定值
     * start：分页使用，表示第几页
     * count：分页使用，表示数量
     * <p>
     * 简：https://api.douban.com/v2/movie/in_theaters?apikey=0b2bdeda43b5688921839c8ecb20399b
     * 全：https://api.douban.com/v2/movie/in_theaters?apikey=0b2bdeda43b5688921839c8ecb20399b&city=%E5%8C%97%E4%BA%AC&start=0&count=100&client=&udid=
     */
    @GET(UrlContants.URL_MOVIE_IN_THEATERS)
    Observable<SubjectResult> getMovieInTheaters(@Query("count") int count);

    /**
     * 即将上映
     * <p>
     * apikey：固定值 0b2bdeda43b5688921839c8ecb20399b
     * start：分页使用，表示第几页
     * count：分页使用，表示数量
     * <p>
     * 简：https://api.douban.com/v2/movie/coming_soon?apikey=0b2bdeda43b5688921839c8ecb20399b
     * 全：https://api.douban.com/v2/movie/coming_soon?apikey=0b2bdeda43b5688921839c8ecb20399b&city=%E5%8C%97%E4%BA%AC&start=0&count=100&client=&udid=
     */
    @GET(UrlContants.URL_MOVIE_COMING_SOON)
    Observable<SubjectResult> getMovieComing(@Query("apikey") String apikey, @Query("start") int start, @Query("count") int count);

    /**
     * Top250
     *
     * apikey：固定值
     * start：分页使用，表示第几页
     * count：分页使用，表示数量
     *
     * 简：https://api.douban.com/v2/movie/top250?apikey=0b2bdeda43b5688921839c8ecb20399b
     * 全：https://api.douban.com/v2/movie/top250?apikey=0b2bdeda43b5688921839c8ecb20399b&city=%E5%8C%97%E4%BA%AC&start=0&count=100&client=&udid=
     */
    @GET(UrlContants.URL_MOVIE_TOP_250)
    Observable<SubjectResult> getMovieTop250(@Query("apikey") String apikey, @Query("start") int start, @Query("count") int count);
}
